Managing Regulated Content Items Stored on Non-Regulated Storage Platforms

ABSTRACT

Methods and systems of storing and managing regulated content items on a non-regulated storage platform are provided. A request to create a regulated content item of which content is subject to one or more regulations is received. The regulated content item is created. An integrity record associated with the regulated content item based on the content of the regulated content item is created. The regulated content item is provided to the non-regulated storage platform for storage. An integrity of the regulated content item stored on the non-regulated storage platform is verified based at least in part on the integrity record.

CROSS REFERENCE TO RELATED APPLICATION(S)

This application claims priority under 35 U.S.C. §119(e) to U.S.Provisional Patent Application Ser. No. 62/201,498, “Content IntegrityVerification for Regulated Content Stored on a Non-regulated ContentPlatform,” filed Aug. 5, 2015 and U.S. Provisional Patent ApplicationSer. No. 62/276,224, “Systems and Methods for Sharing Content BetweenNon-regulated and Regulated Platforms,” filed Jan. 7, 2016. The subjectmatter of each of the foregoing is incorporated herein by reference inits respective entirety.

BACKGROUND

Field of Disclosure

This application relates generally to managing regulated content (e.g.,FDA regulated content) on non-regulated storage platforms. Inparticular, the application relates to maintaining integrity ofregulated content stored on non-regulated storage platforms.

Description of the Related Art

Today, regulated content such as FDA regulated documents and files, areheavily regulated, including specific regulations around how suchdocuments can be stored and how they can be accessed by users within anorganization. This regulated content is typically required to be storedon validated systems in order to meet all of these regulations. Thislimits the ability of organizations to store their regulated content,and often requires expensive subscriptions by these organizations toregulated storage services that have gone through the procedures to meetand maintain their ability to store regulated content. These regulatedstorage platforms are more limited in storage capacity and capability,and are commonly a high expense for organizations for regulated content.Typically, cloud content management services or public cloud storageplatforms are not validated to meet various requirements such as dataintegrity, data control, change and release management, and useracceptance testing requirements imposed by FDA regulations. Accordingly,while these non-regulated storage platforms are easy to use, often free,and provide a large amount of storage capacity, these storage platformscannot be used for managing regulated documents and files.

Another inconvenience for companies with regulated content is that thesecompanies often have to use multiple storage platforms for managingregulated and non-regulated content to meet their business needs and tocomply with regulations. This is because specialized regulated documentmanagement systems are not designed for managing non-regulated businesscontent and are typically not economically viable for managing bothtypes of content. Managing multiple storage platforms can increaseoperational costs and reduce operational efficiency. Using multiplestorage platforms to manage regulated and non-regulated content canimpede company-wide collaboration and may also prevent the companiesfrom viewing content from a holistic perspective as distinct from afunctional or process perspective.

SUMMARY

One embodiment of the computer-implemented method for storing andmanaging regulated content items on a non-regulated storage platformincludes receiving, from a first user, a request to create a regulatedcontent item, content of the regulated content item subject to one ormore regulations. The computer-implemented method creates the regulatedcontent item. The computer-implemented method creates an integrityrecord associated with the regulated content item based on the contentof the regulated content item. The computer-implemented method providesthe regulated content item to the non-regulated storage platform forstorage. The computer-implemented method verifies an integrity of theregulated content item stored on the non-regulated storage platformbased at least in part on the integrity record.

One embodiment of a non-transitory computer-readable storage mediumstoring executable computer program instructions for storing andmanaging regulated content items on a non-regulated storage platformincludes instructions for receiving, from a first user, a request tocreate a regulated content item, content of the regulated content itemsubject to one or more regulations. The computer program instructionsinclude instructions for creating the regulated content item. Thecomputer program instructions include instructions for creating anintegrity record associated with the regulated content item based on thecontent of the regulated content item. The computer program instructionsinclude instructions for providing the regulated content item to thenon-regulated storage platform for storage. The computer programinstructions include instructions for verifying an integrity of theregulated content item stored on the non-regulated storage platformbased at least in part on the integrity record.

One embodiment of a system for storing and managing regulated contentitems, comprises a processor for executing computer program instructionsand a non-transitory computer-readable storage medium comprisingcomputer program instructions executable by the processor. The computerprogram instructions comprise instructions for receiving, from a firstuser, a request to create a regulated content item, content of theregulated content item subject to one or more regulations. The computerprogram instructions include instructions for creating the regulatedcontent item. The computer program instructions include instructions forcreating an integrity record associated with the regulated content itembased on the content of the regulated content item. The computer programinstructions include instructions for providing the regulated contentitem to the non-regulated storage platform for storage. The computerprogram instructions include instructions for verifying an integrity ofthe regulated content item stored on the non-regulated storage platformbased at least in part on the integrity record.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a computing environment for managing regulatedcontent, according to an embodiment.

FIG. 2 is a high-level block diagram illustrating a detailed view ofmodules within an example regulated content management system, accordingto one embodiment.

FIG. 3A is a flow chart illustrating an example process of creating andstoring a regulated content item, according to one embodiment.

FIG. 3B illustrates an example of a user creating and storing aregulated content item.

FIG. 4A is a flow chart illustrating an example process of retrieving aregulated content item, according to one embodiment.

FIG. 4B illustrates an example of a user retrieving a regulated contentitem.

FIG. 5A is a flow chart illustrating an example process of usingrepresentations of regulated content items to facilitate content sharingbetween a regulated content management system and a storage platform.

FIG. 5B illustrates an example of a user accessing a regulated contentitem on the storage platform.

FIG. 6 is a high-level block diagram illustrating an example computerfor implementing the entities shown in FIG. 1.

DETAILED DESCRIPTION

The Figures (FIGS.) and the following description describe certainembodiments by way of illustration only. One skilled in the art willreadily recognize from the following description that alternativeembodiments of the structures and methods illustrated herein may beemployed without departing from the principles described herein.Reference will now be made in detail to several embodiments, examples ofwhich are illustrated in the accompanying figures. It is noted thatwherever practicable similar or like reference numbers may be used inthe figures and may indicate similar or like functionality.

FIG. 1 illustrates a computing environment 100 for managing regulatedcontent, according to an embodiment. The environment includes entitiessuch as enterprises 110, users 120, a storage platform 130, a regulatedcontent management system 140, and a network 150. The network 150connects the enterprises 110, the users 120, the storage platform 130and the regulated content management system 140. In the illustratedexample, only one storage platform and only one regulated contentmanagement system are shown, but there may be multiple instances of thestorage platform and multiple instances of the regulate contentmanagement system.

The enterprises 110 receive regulated content management servicesprovided by the regulated content management system 140. Examples ofenterprises 110 include corporations, organizations, governmentagencies, universities and the like. In one embodiment throughout thedescription herein, enterprises include pharmaceutical companies,organizations, and other similar entities. The enterprises 110 andassociated users (e.g., employees, officers, contractors, etc.) mayinteract with the regulated content management 140 in at least the sameways as the users 120 as further described below, for example, through awebsite hosted by the regulated content management system 140 or viadedicated applications installed on user devices. Enterprises 110 mayalso interact in different ways. For example, a dedicatedenterprise-wide application of the regulated content management system140 may be installed to facilitate interaction between one or more users120 that are associated with the enterprises 110 and the regulatedcontent management system 140. Alternately, some or all of the regulatedcontent management system 140 may be hosted by an enterprise 110.

The users 120 receive regulated content management services provided bythe regulated content management system 140. The users 120, via varioususer devices (not shown), create, access, edit, and review regulatedcontent items from the regulated content management system 140. Asdescribed herein, regulated content items are electronic files thatinclude regulated content subject to various regulations. That is,creation, modification, maintenance, archive, retrieval, andtransmission of regulated content items are required to comply with oneor more regulations such as Food and Drug Administration (FDA)regulations. Only particular users are permitted to access regulatedcontent items. Creation, editing, and removal of regulated content itemsare subject to approval by particular users. Examples of electronicfiles include Microsoft Word documents, Adobe PDF documents, MicrosoftExcel spreadsheets, image files, video files and other file typescontaining regulated content. As one example, a regulated content itemis Standard Operating Procedure of a pharmaceutical company. Creation,modification, maintenance, archive, retrieval, and transmission ofregulated content items are required to comply with the regulations,such as the FDA regulations. It is appreciated, however, that in otherembodiments, a regulated content item alternatively and/or additionallyincludes other forms of regulated content subject to other regulationssuch as financial (e.g., banking), energy (e.g., oil or gas), aviation,construction, and the like.

The users 120 may interact with the regulated content management system140 by visiting a website hosted by the regulated content managementsystem 140. As an alternative to accessing the regulated contentmanagement system 140 through a web browser, the users 120 may downloadand install a dedicated application of the regulated content managementsystem 140 that is designed to interact with the regulated contentmanagement system 140. In various embodiments, multiple users 120 areassociated with an enterprise 110. Users 120 associated with anenterprise 110 are employees, officers, contractors, or otherwiseassociated with the enterprise 110.

User devices of the users 120 are computing devices such as mobiledevices (e.g., smartphones or tablets with operating systems such asANDROID or APPLE IOS), laptop computers, desktop computers, electronicstereos in automobiles or other vehicles, or any other type ofnetwork-enabled device that accesses and edits regulated content such asfiles and documents. A user device typically includes hardware andsoftware to connect to the network 150 (e.g., via Wi-Fi and/or Long TermEvolution (LTE) or other wireless telecommunication standards), and toreceive input from the users 120. In addition to enabling a user tointeract with regulated content items from the regulated contentmanagement system 140, user devices may also provide the regulatedcontent management system 140 with data about the status and use of userdevices, such as their network identifiers and geographic locations.

A storage platform 130 provides data storage services. The storageplatform 130 stores data for the enterprises 110 and the users 120. Forexample, the storage platform 130 may be a cloud content managementservice (e.g., DROPBOX™, BOX™, etc.) or a public cloud storage platform(e.g., AMAZON™, MICROSOFT™, etc.). In addition, the storage platform 130may be a hosted storage platform infrastructure that the enterprises 110or the users 120 use to store different content. The storage platform130 may also be a storage platform infrastructure at an enterprise 110'spremise. Enterprises 110 may create enterprise accounts at the storageplatform 130. Users 120 may create user accounts at the storage platform130. The storage platform 130 stores regulated and non-regulated contentitems for enterprises 110 and users 120. The storage platform 130 maystore regulated content items in storage locations (e.g., directories)under a master account for the regulated content management system 140.The storage platform 130 may store non-regulated content items forenterprises 110 and users 120 in storage locations (e.g., directories)under accounts for the enterprises 110 and users 120.

The regulated content management system 140 provides regulated contentmanagement services for enterprises 110 and users 120. The regulatedcontent management system 140 validates and maintains content items tocomply with regulations for enterprises 110 and users 120. The regulatedcontent management system 140 interacts with the storage platform 130 tocreate and to control regulated content items. The regulated contentmanagement system 140 provides users 120 with accesses to create, toretrieve, to edit, and to approve regulated content items. The regulatedcontent management system 140 validates regulated content items createdon the regulated content management system 140 and stored on the storageplatform 130. The regulated content management system 140 also validatesregulated content items that are brought into the storage platform 130.

The network 150 provides a communication infrastructure between theenterprises 110, the users 120, the storage platform 130, and theregulated content management system 140. In one embodiment, the network150 uses standard communications technologies and/or protocols and caninclude the Internet. Thus, the network 150 can include links usingtechnologies such as Ethernet, 802.11, InfiniBand, PCI Express AdvancedSwitching, etc. Similarly, the networking protocols used on the network150 can include multiprotocol label switching (MPLS), transmissioncontrol protocol/Internet protocol (TCP/IP), User Datagram Protocol(UDP), hypertext transport protocol (HTTP) and secure hypertexttransport protocol (HTTPS), simple mail transfer protocol (SMTP), filetransfer protocol (FTP), etc. The data exchanged over the network 150can be represented using technologies and/or formats including imagedata in binary form (e.g., Portable Network Graphics (PNG)), hypertextmarkup language (HTML), extensible markup language (XML), etc. Inaddition, all or some of the links can be encrypted using conventionalencryption technologies such as secure sockets layer (SSL), transportlayer security (TLS), virtual private networks (VPNs), Internet Protocolsecurity (IPsec), etc. In another embodiment, the entities on thenetwork 150 can use custom and/or dedicated data communicationstechnologies instead of, or in addition to, the ones described above.

Regulated Content Management System

The regulated content management system 140 is now described in moredetail with respect to FIG. 2. FIG. 2 is a high-level block diagramillustrating a detailed view of modules within an example regulatedcontent management system 140, according to one embodiment. Someembodiments of the regulated content management system 140 havedifferent modules than those described here. Similarly, the functionscan be distributed among the modules in a different manner than isdescribed here. The components of the regulated content managementsystem 140 include an integrity record data store 202, a content itemsdata store 204, an integrity record creation and maintenance module 206,an integrity verification module 208, a storage platform interfacemodule 210, and a user interface module 212.

The integrity record data store 202 stores integrity records associatedwith regulated content items. An integrity record is associated with aregulated content item that is stored on the storage platform 130 andprovides integrity information of the particular integrity record. Whena copy of a regulated content item stored on the storage platform 130 isretrieved from the storage platform 130, the integrity information canbe used to verify whether the content has been modified without beingapproved since the last review of the integrity record. In other words,the integrity record associated with a regulated content item can beused to verify whether a regulated content item has been modified to anydegree while being stored on the storage platform 130. Each integrityrecord is identified by a content item ID that is unique to theregulated content item. An integrity record includes various metadataassociated with a regulated content item, such as a content item name, astorage location in the storage platform 130 where a regulated contentitem is stored, an integrity check, and other metadata specific to theregulated content item (e.g. Standard Operating Procedure, clinicaltrial protocol, case report forms, etc.) An integrity check can involveuse of a checksum, a cyclic redundancy check (CRC), a digital signatureor watermark, and other data verification measures.

The content items data store 204 temporarily stores various copies ofregulated content items. For example, the content items data store 204temporarily stores a copy of a regulated content item when creating theregulated content item and storing the regulated content item in thestorage platform 130. As another example, the content items data store204 temporarily stores a copy of a regulated content item uponretrieving the copy of the regulated content item stored in the storageplatform 130.

The integrity record creation and maintenance module 206 creates andmaintains integrity records associated with regulated content items.When receiving a request from a user to create a new regulated contentitem, the integrity record creation and maintenance module 206 createsan integrity record associated with the regulated content item. Forexample, the integrity record includes metadata of the regulated contentitem such as the content item ID, content item name, storage locationand the like. The integrity record creation and maintenance module 206may determine a unique value based on the content of the regulatedcontent item. For example, a checksum may be calculated using one ormore hash functions such as MD5 algorithm. The integrity record creationand maintenance module 206 further updates the integrity record for theregulated content item. For example, responsive to detecting a change incontent in the regulated content item, the integrity record creation andmaintenance module 206 updates the integrity check associated with theregulated content item. As another example, responsive to detecting afile name change, the integrity record creation and maintenance module206 updates the content item name in the integrity record associatedwith the regulated content item.

The integrity verification module 208 verifies the integrity ofregulated content items. The integrity verification module 208 verifieswhether a regulated content item stored in the storage platform 130retains its integrity when being stored in and/or retrieved from thestorage platform 130. For example, when receiving a request from a userto create a regulated content item, the integrity verification module208 verifies the integrity of the regulated content item to ensure thatthe regulated content item is not modified and complies with FDAregulations during the process of storing the regulated content iteminto the storage platform 130. As another example, when receiving arequest from a user to retrieve a regulated content item, the integrityverification module 208 verifies the integrity of the regulated contentitem to ensure that the regulated content item is not modified andcomplies with FDA regulations during the process of retrieving theregulated content item from the storage platform 130.

The storage platform interface module 210 interacts with the storageplatform 130 to provide regulated content for storage or to retrieveregulated content from storage. The storage platform interface module210 receives regulated content items from or provides regulated contentitems to one or more other modules of the regulated content managementsystem 140. For example, the storage platform interface module 210visits a storage location of the storage platform 130 to obtain a copyof a regulated content item. The storage platform interface module 210may provide the obtained copy to the content items data store 204 forstorage. The storage platform interface module may also provide theobtained copy to the integrity verification module 208 for analysis. Asanother example, the storage platform interface module 210 provides acopy of the regulated content item to the user device interface module212, with which a user device can interact to receive the copy of theregulated content item. The storage platform interface module 210 alsoobtains storage locations at the storage platform 130 where regulatedcontent items are stored. The storage platform interface module 210provides the obtained information to other modules of the regulatedcontent management system 140 for use. For example, the storage platforminterface module 210 provides a storage location obtained from thestorage platform 130 to the integrity record creation and maintenancemodule 206 for creation of an integrity record.

The client interface module 212 interacts with user devices to provideregulated content items or to receive instructions. For example, theclient interface module 212 a regulated content item retrieved from thestorage platform to a user device of a user who requested the particularregulated content item. As another example, the client interface module212 provides a regulated content item to a user device of a user forapproval. The client interface module 212 receives various instructionssuch as a request to create a regulated content item, a request toretrieve a regulated content item, a request to edit a regulated contentitem, an approval of a regulated content item.

FIG. 3A is a flow chart illustrating an example process of creating andstoring a regulated content item, according to one embodiment. In otherexamples, some steps may not be included, may be modified, or may be indifferent orders, and the same is true for all flow charts describedbelow. The regulated content management system 140 receives 302 arequest to create a regulated content item. As one example, a user mayrequest to create a new regulated content item using a template. Asanother example, a user may request to upload an existing file to createa new regulated content item using the existing file.

The regulated content management system 140 creates 304 the regulatedcontent item in response to the request. For instance, the regulatedcontent management system 140 may call an application such as texteditor (e.g., MICROSOFT WORD™) to create the regulated content item asrequested. The regulated content management system 140 provides thecreated regulated content item to one or more users for approval. Theuser who creates the content item may identify the one or more users whoshould approve the created regulated content item. In some cases, theregulated content item management system 140 may determine a list ofapprovers for the user to choose from based on a type of the createdregulate content item and provide the list to the user. The regulatedcontent management system 140 may store a copy of the created regulatedcontent item, for example, temporarily in the content items data store204.

The regulated content management system 140 creates 306 an integrityrecord associated with the regulated content item. The integrity recordassociated with the regulated content item is identified by a uniqueintegrity record ID. The regulated content management system 140determines an integrity check based on the content of the regulatedcontent item and stores the determined integrity check in the integrityrecord associated with the regulated content item. The regulated contentmanagement system 140 may further store metadata of a regulated contentitem in the integrity record associated with the regulated content item.Example metadata of a regulated content item includes a file name,storage location, file size, owner, department, document type, and thelike.

The regulated content management system 140 provides 308 the regulatedcontent item to the storage platform 130 for storage. The regulatedcontent management system 140 may provide the regulated content item tothe storage platform 130 for storage responsive to receiving anapproval. In some embodiments, the regulated content management systemmay generate and provide a representation of the regulated content itemas further described with reference to FIGS. 5A-5B. Provision of theregulated content item to the storage platform 130 for storage may beperformed periodically while the user is editing the regulated contentitem, responsive to a user's instruction to save the regulated contentitem, or responsive to detecting the user has completed editing theregulated content item. The regulated content management system 140 mayprovide a copy of the regulated content item to the storage platform 130for storage. The regulated content management system 140 receives a filename and a storage location of the regulated content item from thestorage platform 130. For example, the storage platform interface module210 interacts with the storage platform 130 to obtain the storagelocation of the regulated content item. The storage location may be alink to a directory where the regulated content item is stored, such asa location of the regulated content item in the folder hierarchy. Thefile name may be used to identify the storage location of the regulatedcontent item on the storage platform 130. The regulated contentmanagement system 140 updates the integrity record created to includethe file name and/or storage location of the content item stored on thestorage platform 130.

In addition, the regulated content management system 140 synchronizesthe copy of the regulated content item that is locally stored on theregulated content management system 140 and the copy of the regulatedcontent item that is stored on the storage platform 130. That is, afterthe regulated content item is created and stored on the storage platform130, the user may edit the regulated content item via the regulatedcontent management system 140. The regulated content management system140 synchronizes the edits between the regulated content managementsystem 140 and the storage platform 130. For example, the storageplatform interface module 210 interfaces with an Application ProgramInterface (API) of the storage platform 130 to synchronize the editsbetween the two copies.

The regulated content management system 140 verifies 310 the integrityof the regulated content item using the integrity record. Regulatedcontent items may be tampered with when stored on the storage platform130 by various factors, for example, computer viruses, software bugs,media failures, communication errors, and the like. The regulatedcontent management system 140 retrieves a copy of the regulated contentitem stored on the storage platform 130. For example, the storageplatform interface module 210 can retrieve the copy of the regulatedcontent item using the file name and/or storage location of theregulated content item. The retrieved copy may be stored in the contentitems data store 204. The regulated content management system 140determines a second integrity check using the retrieved copy of theregulated content item using the same mechanism used to generate theintegrity check of the integrity record associated with the regulatedcontent item.

The regulated content management system 140 compares the determinedintegrity check to the integrity check of the integrity recordassociated with the regulated content item. Responsive to determiningthat the two integrity checks are identical, the regulated contentmanagement system 140 confirms the integrity of the regulated contentitem stored on the storage platform 130. The regulated contentmanagement system 140 may remove the copies of the regulated contentstored in the content items data store 204. The regulated contentmanagement system 140 may further notify the user 120 that the regulatedcontent item is stored successfully on the storage platform 130.Responsive to determining that the two integrity checks are different,the regulated content management 130 determines that the integrityverification of the stored regulated content item has failed. Theregulated content management system 140 interacts with the storageplatform 130 to prevent the regulated content item stored on the storageplatform 130 from being used. The regulated content item may be removedfrom or locked on the storage platform 130. In addition, the regulatedcontent management system 140 may further remove the copies of theregulated content stored in the content items data store 204. Theregulated content management system 140 may notify the user that theregulated content item is not stored successfully.

FIG. 3B illustrates an example of a user Alice creating and storing aregulated content item. Alice 120 interacts with the regulated contentmanagement system 140 to create a Standard Operating Procedure (SOP)document. The regulated content management system 140 creates the SOP301A responsive to Alice's request and provides the SOP 301A to anotheruser Elaine for approval. In addition, the regulated content managementsystem 140 creates an integrity record 302 associated with the createdSOP 301A. The integrity record 302 includes an integrity checkcalculated based on the content of the SOP 301A. The regulated contentmanagement system 140 provides 304 a copy 301B of the created SOP 301Ato the storage platform 130 for storage. The storage platform stores thereceived copy SOP 301B in directories under the master account 310 forthe regulated content management system 140. The regulated contentmanagement system 140 receives 305 the file name and the storagelocation of the SOP 301B that is stored on the storage platform 130. Theregulated content management system 140 updates the integrity record 302associated with the SOP 301A to include the file name and the storagelocation.

Subsequently, the regulated content management system 140 verifies theintegrity of the SOP 301B stored on the storage platform 130. Theregulated content management system 140 uses the file name and/or thestorage location included in the integrity record 302 to retrieve a copyof the SOP 301B. The regulated content management system 140 stores theretrieved copy of the SOP 301C in the content items data store 204. Theregulated content management system 140 calculates an integrity checkusing the retrieved copy of the SOP 301C and compares the calculatedintegrity check to the integrity check of the integrity record 302.Responsive to determining that the two integrity checks are identical,the regulated content management system 140 verifies the integrity ofthe SOP 301B and informs Alice 120 that the SOP is created and storedsuccessfully. The regulated content management system 140 removes thecopies of the SOP 301A, 301C from the content items data store 204.Responsive to determining that the two integrity checks are notidentical, the regulated content management system 140 determines thatthe SOP 301B fails the integrity verification and informs Alice 120accordingly. The regulated content management system 140 removes thecopies of the SOP 301A, 301C from the content items data store 204 andalso removes the copy of the SOP 301B from the storage platform 130.

FIG. 4A is a flow chart illustrating an example process of retrieving aregulated content item, according to one embodiment. The regulatedcontent management system 140 receives 402 a request to retrieve aregulated content item. For example, the client interface module 212receives a request from a user to retrieve a regulated content item. Theuser may request to retrieve a regulated content item using theparticular content item's name. The user may also search for contentitems that match a search term and selects to retrieve a particularcontent item using a link directed to the content item. The regulatedcontent management system 140 identifies 404 an integrity recordassociated with the regulated content item. For example, the regulatedcontent management system 140 queries all integrity records using theregulated content item ID to locate the integrity record associated withthe particular regulated content item that is requested by the user.

The regulated content management system 140 retrieves 406 a copy of theregulated content item from the storage platform 130, based on theintegrity record. As the integrity record includes the storage locationof the regulated content item being stored in the storage platform 130,the regulated content management system 140 uses the storage location toretrieve a copy of the regulated content item requested by the user. Theregulated content management system 140 may store the retrieved copytemporarily.

The regulated content management system 140 verifies 408 the integrityof the retrieved regulated content item using the integrity record. Theregulated content management system 140 determines an integrity checkusing the retrieved regulated content item and compares the determinedintegrity check to the integrity check of the integrity recordassociated with the regulated content item. Responsive to determiningthat the two integrity checks are identical, the regulated contentmanagement system 140 confirms the integrity of the stored regulatedcontent item. The regulated content management system 140 provides 410the retrieved regulated content item to the user. The regulated contentmanagement system 140 may remove the retrieved copy of the regulatedcontent that is on the regulated content management system 140.Responsive to determining that the two integrity checks are different,the regulated content management system 140 determines the integrityverification of the retrieved regulate content has failed. The regulatedcontent management system 140 notifies the user accordingly that theregulated content item was not retrieved successfully. The regulatedcontent management system 140 removes the retrieved copy of theregulated content item.

FIG. 4B illustrates an example of a user Alice retrieving a regulatedcontent item. Continuing with the example illustrated in FIG. 3B, Alice120 now requests to retrieve the SOP that is created and stored on thestorage platform 130. Alice 120 may provide the storage location of theSOP 301B on the storage platform 130 to the regulated content managementsystem 140. Alternatively, Alice 120 may provide the content item ID ofthe storage location of the SOP 301B to the regulated content managementsystem 140, which identifies the storage location stored in theintegrity record 302 associated with the SOP. The regulated contentmanagement system 140 retrieves 406 a copy of the SOP 301B from thestorage platform 130 using the storage location. The regulated contentmanagement system 140 stores the retrieved copy of the SOP 301D in thecontent items data store 204. The regulated content management system140 verifies the integrity of the retrieved copy of the SOP 301D. Theregulated content management system 140 calculates an integrity checkusing the retrieved copy of the SOP 301D and compares the calculatedintegrity check to the integrity check of the integrity record 302.Responsive to determining that the two integrity checks are identical,the regulated content management system 140 verifies the integrity ofthe SOP 301D and informs Alice 120 that the SOP is retrievedsuccessfully. The regulated content management system 140 provides 404the retrieved copy of the SOP 301D to Alice 120. The regulated contentmanagement system 140 removes the copy of the SOP 301D from the contentitems data store 204. Responsive to determining that the two integritychecks are not identical, the regulated content management system 140determines that the SOP 301B has failed the integrity verification andinforms Alice 120 that the integrity of the SOP fails to be verified.The regulated content management system 140 removes the copy of the SOP301D from the content items data store 204.

In many cases, enterprises 110 and users 120 use the storage platform130 to store both regulated and non-regulated content items. Tofacilitate ease of use in accessing and managing both regulated andnon-regulated content items, the regulated content management system 140creates and provides representations of the regulated content items tothe storage platform 130. As such, users may search for regulatedcontent items stored on the storage platform 130, for example, using asearch engine native to the storage platform 130. In addition, users maybe directed to the regulated content management system 140 to access theregulated content items to ensure that the regulated content items aremanaged according to regulations. Accordingly, enterprises and usershave the flexibility and convenience of managing both regulated andnon-regulated content items using the storage platform 130 as all filesare stored on the storage platform 130. It is also convenient andcheaper for those enterprises and users that currently use the storageplatform 130 but not yet the regulated content management system 140 tostart using the regulated content management system 140 to facilitatemanaging regulated content items without complicated data and systemmigrations.

FIG. 5A is a flow chart illustrating an example process of usingrepresentations of regulated content items to facilitate content sharingbetween the regulated content management system 140 and the storageplatform 130. The regulated content management system 140 generates 502a representation of a regulated content item. The representation of theregulated content item represents content of the regulated content itemwithout revealing the actual content. The representation may include oneor more keywords and/or phrases based on the content of the regulatedcontent item, such as a scope, title, vendor, or date. The keywordsand/or phrases can be extracted from the content of the regulatedcontent item. The keywords and/or phrases may also be extracted from alog associated with the regulated content item. The representation mayinclude a description of the content of the regulated content item, suchas a topic, a structure (e.g., number of pages, sections, table ofcontents, etc.), a name or information about the creator, authorizationinformation such as users authorized to access or edit the document,certain codes or identifiers of the document, and the like. For example,a description includes a name of a pharmaceutical drug that is a topicof a document, a table of contents of the document, and the user ID ofthe user who created the document. In one embodiment, representations ofregulated content items include an image of the regulated content item.The image includes a portion of the content of the regulated contentitem that is permitted by various regulations to be accessed by users onthe storage platform 130. The image is associated with metadata such askeywords and phrases generated based on the content of the regulatedcontent item. In one embodiment, representations of regulated contentitems may further include links to the regulated content items.

The regulated content management system 140 may create therepresentation of the regulated content item based on a particularuser's access control to the regulated content item. For a particularcontent item, different representations may be created for differentusers because they may have different access controls. For example, afirst user Bob is permitted to view and edit part A of a regulated form,a second user Clara is permitted to view and edit part B of theregulated form, and a third user Doug is permitted to view and edit theentire regulated form. The representations of the regulated form createdfor Bob and Clara include keywords extracted from the parts A and B ofthe regulated form, respectively. The representation of the regulatedform created for Doug includes keywords extracted from the entireregulated form. The regulated content item management system 140 maygenerate the representation responsive to receiving an approval from auser 120.

The regulated content management system 140 provides 504 therepresentation to the storage platform 130 for storage. The regulatedcontent item and the representation may be stored at differentdirectories on the storage platform 130. For example, the regulatedcontent item is stored at a directory under the master account for theregulated content management system 140, and the representation isstored at a directory under the user's account. Because therepresentation of the regulated content item includes descriptionsgenerated based on the regulated content item, a user can search for theregulated content item on the storage platform 130 using therepresentation of the regulated content item. The storage platform 130queries the search term received from the user and provides therepresentation of the regulated content item to the user responsive todetermining that one or more keywords included in the representationmatch the search term. The user may use the link included in therepresentation to request access the regulated content item.

The regulated content management system 140 receives the user's requestto access the regulated content item using the representation. Forexample, the storage platform interface module 210 interfaces with theAPI of the storage platform 130 and receives the request to access theregulated content item responsive to the link being referenced. Theregulated content item retrieves 508 the regulated content item, asdescribed with respect to FIGS. 4A-4B.

FIG. 5B illustrates an example of a user Alice accessing a regulatedcontent item on the storage platform 130. Continuing with the examplesillustrated in FIGS. 3B and 4B, when Elaine approves the SOP 301A, theregulated content management system 140 creates a representation 501 ofthe SOP 301A. The representation 501 of the SOP 301A includes a link 502to the SOP 301A. The regulated content management system 140 provides508 the representation 501 of the SOP 301A to the storage platform 130for storage. The representation 501 is stored at a directory underAlice's account 520 on the storage platform 130. Under the masteraccount 310 for the storage regulated content management system 140,there are many directories for storing regulated content items forvarious users. A directory that stores regulated content items for aparticular user may be shared with the user's account on the storageplatform such that links to the regulated content items can be used butthe regulated content items cannot be accessed on the storage platform130. Users can search for a particular content item and determine anexistence of the particular content item being stored on the storageplatform 130 but users cannot access the particular content item on thestorage platform 130.

Alice 120 may search for SOP 301B on the storage platform 130. Thestorage platform 130 provides 510 the representation 501 of the SOP toAlice 120 for review. Alice 120 can request to retrieve the SOP 301B byclicking on the link 502. Responsive to receiving the request, theregulated content management system 140 retrieves 406 a copy 301D of theSOP 301B, validates the integrity of the copy 301D of the SOP 301B, andprovides the retrieved copy 301D to Alice 120 for review and access. Theregulated content management system 140 may prompt Alice 120 to log intothe regulated content management system 140 responsive to determiningthat Alice 120 is not logged in.

Turning now to a discussion of the implementation the regulated contentmanagement system 140, FIG. 6 is a high-level block diagram illustratingan example computer 600 for implementing the entities shown in FIG. 1.The computer 600 includes at least one processor 602 coupled to achipset 604. The chipset 604 includes a memory controller hub 620 and aninput/output (I/O) controller hub 622. A memory 606 and a graphicsadapter 612 are coupled to the memory controller hub 620, and a display618 is coupled to the graphics adapter 612. A storage device 608, aninput device 614, and network adapter 616 are coupled to the I/Ocontroller hub 622. Other embodiments of the computer 600 have differentarchitectures.

The storage device 608 is a non-transitory computer-readable storagemedium such as a hard drive, compact disk read-only memory (CD-ROM),DVD, or a solid-state memory device. The memory 606 holds instructionsand data used by the processor 602. The input interface 614 is atouch-screen interface, a mouse, track ball, or other type of pointingdevice, a keyboard, or some combination thereof, and is used to inputdata into the computer 600. In some embodiments, the computer 600 may beconfigured to receive input (e.g., commands) from the input interface614 via gestures from the user. The graphics adapter 612 displays imagesand other information on the display 618. The network adapter 616couples the computer 600 to one or more computer networks.

The computer 600 is adapted to execute computer program modules forproviding functionality described herein. As used herein, the term“module” refers to computer program logic used to provide the specifiedfunctionality. Thus, a module can be implemented in hardware, firmware,and/or software. In one embodiment, program modules are stored on thestorage device 608, loaded into the memory 606, and executed by theprocessor 602.

The types of computers 600 used by the entities of FIG. 1 can varydepending upon the embodiment and the processing power required by theentity. For example, the regulated content item management system 140can run in a single computer 600 or multiple computers 600 communicatingwith each other through a network such as in a server farm. Thecomputers 600 can lack some of the components described above, such asgraphics adapters 612, and displays 618.

Other Considerations

Some portions of the above description describe the embodiments in termsof algorithmic processes or operations. These algorithmic descriptionsand representations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs comprising instructions for executionby a processor or equivalent electrical circuits, microcode, or thelike. Furthermore, it has also proven convenient at times, to refer tothese arrangements of functional operations as modules, without loss ofgenerality. The described operations and their associated modules may beembodied in software, firmware, hardware, or any combinations thereof.

As used herein any reference to “one embodiment” or “an embodiment”means that a particular element, feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

Some embodiments may be described using the expression “coupled” and“connected” along with their derivatives. It should be understood thatthese terms are not intended as synonyms for each other. For example,some embodiments may be described using the term “connected” to indicatethat two or more elements are in direct physical or electrical contactwith each other. In another example, some embodiments may be describedusing the term “coupled” to indicate that two or more elements are indirect physical or electrical contact. The term “coupled,” however, mayalso mean that two or more elements are not in direct contact with eachother, but yet still co-operate or interact with each other. Theembodiments are not limited in this context.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,method, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

In addition, use of the “a” or “an” are employed to describe elementsand components of the embodiments herein. This is done merely forconvenience and to give a general sense of the disclosure. Thisdescription should be read to include one or at least one and thesingular also includes the plural unless it is obvious that it is meantotherwise.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs for asystem and a process for storing and managing regulated content items onnon-regulated storage platforms. Thus, while particular embodiments andapplications have been illustrated and described, it is to be understoodthat the described subject matter is not limited to the preciseconstruction and components disclosed herein and that variousmodifications, changes and variations which will be apparent to thoseskilled in the art may be made in the arrangement, operation and detailsof the method and apparatus disclosed herein.

What is claimed is:
 1. A computer-implemented method for storing andmanaging regulated content items on a non-regulated storage platform,comprising: receiving, from a first user, a request to create aregulated content item, content of the regulated content item subject toone or more regulations; creating the regulated content item; creatingan integrity record associated with the regulated content item based onthe content of the regulated content item; providing the regulatedcontent item to the non-regulated storage platform for storage; andverifying an integrity of the regulated content item stored on thenon-regulated storage platform based at least in part on the integrityrecord.
 2. The computer-implemented method of claim 1, wherein thecreating the integrity record comprises calculating a first integritycheck associated with the regulated content item based on the content ofthe regulated content item.
 3. The computer-implemented method of claim2, wherein the verifying the integrity of the regulated content itemcomprises: retrieving a copy of the regulated content item stored on thenon-regulated storage platform; calculating a second integrity checkbased on content of the retrieved copy of the regulated content item;comparing the first integrity check to the second integrity check;responsive to determining that the first integrity check and the secondintegrity check are identical, confirming the integrity of the regulatedcontent item stored on the non-regulated storage platform; andresponsive to determining that the first integrity check different fromthe second integrity check, determining that the regaled content itemstored on the non-regulated storage platform fails the integrityverification.
 4. The computer-implemented method of claim 2, wherein thefirst integrity check is a checksum and the calculating the firstintegrity check associated with the regulated content item compriseshashing the content of the regulated content item.
 5. Thecomputer-implemented method of claim 1, further comprising: receiving,from the non-regulated storage platform, at least one of a file name ofand a storage location of the regulated content item stored on thenon-regulated storage platform; and updating the integrity record toinclude the at least one of the file name of and the storage location ofthe regulated content item.
 6. The computer-implemented method of claim1, further comprising: receiving, from a second user, a request toretrieve the regulated content item; retrieving a copy of the regulatedcontent item from the non-regulated storage platform; verifying theintegrity of the retrieved regulated content item based on the integrityrecord; and providing the retrieved regulated content item to the seconduser responsive to confirming the integrity of the retrieved regulatedcontent item.
 7. The computer-implemented method of claim 6, wherein theintegrity record comprises a first integrity check and the verifying theintegrity of the retrieved regulated content item comprises: calculatinga second integrity check based on content of the retrieved copy of theregulated content item; comparing the first integrity check to thesecond integrity check; responsive to determining that the firstintegrity check and the second integrity check are identical, confirmingthe integrity of the regulated content item stored on the non-regulatedstorage platform; and responsive to determining that the first integritycheck different from the second integrity check, determining that theregulated content item stored on the non-regulated storage platformfails the integrity verification.
 8. The computer-implemented method ofclaim 7, wherein the first integrity check is a checksum, thecalculating the first integrity check associated with the regulatedcontent item comprises hashing the content of the regulated content itemaccording to a hashing algorithm, and the calculating the secondintegrity check comprise hashing the content of the retrieved copy ofthe regulated content item according to the hashing algorithm.
 9. Thecomputer-implemented method of claim 6, wherein the integrity recordcomprises a regulated content item ID and a storage location, furthercomprising: identifying the integrity record associated with theregulated content item according to the regulated content item IDassociated with the regulated content item; and interfacing with thenon-regulated storage platform according to the storage location toretrieve the copy of the regulated content item stored on thenon-regulated storage platform.
 10. The computer-implemented method ofclaim 1, further comprising providing the regulated content item to asecond user for approval.
 11. A system for storing and managingregulated content items on a non-regulated storage platform, comprising:a processor for executing computer program instructions; and anon-transitory computer-readable storage medium comprising computerprogram instructions executable by the processor, the computer programinstructions comprising: instructions for receiving, from a first user,a request to create a regulated content item, content of the regulatedcontent item subject to one or more regulations; instructions forcreating the regulated content item; instructions for creating anintegrity record associated with the regulated content item based on thecontent of the regulated content item; instructions for providing theregulated content item to the non-regulated storage platform forstorage; and instructions for verifying an integrity of the regulatedcontent item stored on the non-regulated storage platform based at leastin part on the integrity record.
 12. The system of claim 11, wherein thecreating the integrity record comprises calculating a first integritycheck associated with the regulated content item based on the content ofthe regulated content item.
 13. The system of claim 12, wherein theverifying the integrity of the regulated content item comprises:retrieving a copy of the regulated content item stored on thenon-regulated storage platform; calculating a second integrity checkbased on content of the retrieved copy of the regulated content item;comparing the first integrity check to the second integrity check;responsive to determining that the first integrity check and the secondintegrity check are identical, confirming the integrity of the regulatedcontent item stored on the non-regulated storage platform; andresponsive to determining that the first integrity check different fromthe second integrity check, determining that the regaled content itemstored on the non-regulated storage platform fails the integrityverification.
 14. The system of claim 12, wherein the first integritycheck is a checksum and the calculating the first integrity checkassociated with the regulated content item comprises hashing the contentof the regulated content item.
 15. The system of claim 11, wherein thecomputer program instructions further comprise: instructions forreceiving, from the non-regulated storage platform, at least one of afile name of and a storage location of the regulated content item storedon the non-regulated storage platform; and instructions for updating theintegrity record to include the at least one of the file name of and thestorage location of the regulated content item.
 16. The system of claim11, wherein the computer program instructions further comprise:instructions for receiving, from a second user, a request to retrievethe regulated content item; instructions for retrieving a copy of theregulated content item from the non-regulated storage platform;instructions for verifying the integrity of the retrieved regulatedcontent item based on the integrity record; and instructions forproviding the retrieved regulated content item to the second userresponsive to confirming the integrity of the retrieved regulatedcontent item.
 17. The system of claim 16, wherein the integrity recordcomprises a first integrity check and the verifying the integrity of theretrieved regulated content item comprises: calculating a secondintegrity check based on content of the retrieved copy of the regulatedcontent item; comparing the first integrity check to the secondintegrity check; responsive to determining that the first integritycheck and the second integrity check are identical, confirming theintegrity of the regulated content item stored on the non-regulatedstorage platform; and responsive to determining that the first integritycheck different from the second integrity check, determining that theregulated content item stored on the non-regulated storage platformfails the integrity verification.
 18. The system of claim 17, whereinthe first integrity check is a checksum, the calculating the firstintegrity check associated with the regulated content item compriseshashing the content of the regulated content item according to a hashingalgorithm, and the calculating the second integrity check comprisehashing the content of the retrieved copy of the regulated content itemaccording to the hashing algorithm.
 19. The system of claim 16, whereinthe integrity record comprises a regulated content item ID and a storagelocation, and wherein the computer program instructions furthercomprise: instructions for identifying the integrity record associatedwith the regulated content item according to the regulated content itemID associated with the regulated content item; and instructions forinterfacing with the non-regulated storage platform according to thestorage location to retrieve the copy of the regulated content itemstored on the non-regulated storage platform.
 20. A non-transitorycomputer-readable storage medium comprising computer programinstructions executable by a processor, the computer programinstructions for, comprising: receiving, from a first user, a request tocreate a regulated content item, content of the regulated content itemsubject to one or more regulations; creating the regulated content item;creating an integrity record associated with the regulated content itembased on the content of the regulated content item; providing theregulated content item to the non-regulated storage platform forstorage; and verifying an integrity of the regulated content item storedon the non-regulated storage platform based at least in part on theintegrity record.